#!/bin/bash
echo ""
date --date='0 days ago' "+%Y-%m-%d %H:%M:%S"
echo "Start"

#这是你的仓库代码拉取的分支
BRANCH="master"
#这里的地址需要修改为服务器克隆代码的文件位置
GIT_PATH="/home/www/test"
TEMP_PATH="$GIT_PATH/.tempGitClone"
#这里的是你的gitee的仓库克隆地址(一定是git开头-用ssh的免密形式)
GIT_HTTP="git@gitee.com:1024335892/test-init.git"
#宝塔的webHook的url的param的参数值
BT_PARAM="9d961fb783d50c1a41e8c993befb1ba2"

cloneFun() {
    if [ "$1" = "first" ];then
        #第一次全量拉去代码
        git clone -b $BRANCH $GIT_HTTP $GIT_PATH
    else
        #目标只要.git的配置信息，其它的内容删除
        git clone -b $BRANCH $GIT_HTTP $TEMP_PATH
        mv $TEMP_PATH/.git $GIT_PATH
        rm -rf $TEMP_PATH
    fi
}

pullFun(){
    git pull $GIT_HTTP 2>&1
    #这里我使用的是宝塔默认用户www
    chown -R www:www $GIT_PATH
    echo "End"
}
gitPullFun(){
    if [ -d "$GIT_PATH" ]; then
        cd $GIT_PATH
        if [ ! -d ".git" ]; then
            cloneFun
        fi
        git reset --hard origin/$BRANCH
        pullFun
        exit
    else
        mkdir -p $GIT_PATH
        cd $GIT_PATH
        cloneFun "first"
        exit
    fi
}

if [ -n "$1" ] && [ "$1" = "$BT_PARAM" ]; then
    gitPullFun
else
    echo "bt的param参数错误"
fi